En esta gráfica de accidentes entre el 2016-2022 de caras de Chernoff
podemos observar en un inicio que hay 12 caras, una por cada mes del
año. Segundo hay variedad de colores, los cuales representan el día con
más accidentes de ese mes. Y por último todas las caras tiene el mismo
tamaño, ya que el tamaño lo determina la ruta con más accidentes.
Teniendo esto en cuenta, porque tiene el mismo tamaño todas las caras?
Pues los datos de análisis indican que a través del intervalo de años
entre el 2016-2022 las rutas con más accidentes han sido las cantonales.
Es muy interesante que en ese intervalo de años el día que suele tener
más accidentes es el viernes, además el Lunes y Sábado sueles tener la
misma cantidad de accidentes.
En este gráfico de paste se muestra el porcentaje de los accidentes
entre el 2016-2022 por tipo de ruta. Se puede apreciar que el mayor
porcentaje de accidentes en el intervalo de años se ha dado en rutas
urbana, eso quizá tenga que ver en parte porque hay menos tránsito en
rutas rurales. Con lo anterior en cuenta, también puede ser que porque
hay menos cantidad de tránsito hayan menos factores psicoemocionales que
afecten al momento de conducir.
Entre 2016-2022, la gráfica apilada de barras muestra que las barras
están agrupadas por región y apiladas por cantones con mayor número de
accidentes. El color indica cuántos accidentes hubieron en cada cantón.
En la zona de Costa Rica, donde más accidentes ocurrieron, la región
central y el cantón de San José tienen el mayor número de accidentes.
Además, los cantones que comparten más accidentes son los más
desarrollados urbanamente, mientras que los cantones con menos
accidentes son los más pobres o menos desarrollados. Esto se podría
deber a que hay menos vehículos en carretera, por la falta de poder
adquisitivo.
LS0tDQp0aXRsZTogIkFjY2lkZW50ZXMgZGUgdHJhbnNpdG8gZW4gQ1IgZW50cmUgMjAxNi0yMDIyIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmRhdGEgPC0gcmVhZC5jc3YoImFjY2lkZW50ZXNfdHJhbnNpdG9fY29uX3ZpY3RpbWFzXzIwMTZfMjAyMi5jc3YiLCBzZXAgPSAiOyIpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRSwgd2FybmluZyA9IEZBTFNFfQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShjb2xvcnNwYWNlKQ0KbGlicmFyeSh0cmVlbWFwaWZ5KQ0KYGBgDQoNCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlID0gRkFMU0V9DQojb2J0ZW5lbW9zIGxvcyBtZXNlcywgZGlhcyB5IGxhIHJ1dGEgZG9uZGUNCiNtYXMgYWNjaWRlbnRlcyBoYXkNCm1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgPC0gZGF0YSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJeW0EtTF1cXC4uKlxccyhFbmVyb3xGZWJyZXJvfE1hcnpvfEFicmlsfE1heW98SnVuaW98SnVsaW98QWdvc3RvfFNldGllbWJyZXxPY3R1YnJlfE5vdmllbWJyZXxEaWNpZW1icmUpJCIsIE1lcykpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoTWVzLETDrWEsUnV0YSkgJT4lDQogIHN1bW1hcmlzZShNRHRvdGFsX2FjY2lkZW50ZXMgPSBuKCkpICU+JQ0KICBhcnJhbmdlKGRlc2MoTUR0b3RhbF9hY2NpZGVudGVzKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzIDwtIG1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgJT4lDQogIGdyb3VwX2J5KE1lcykgJT4lDQogIHNsaWNlKDEpDQogIA0KbnVtZXJvX21lcyA8LSBzZXEoMSwgMTIsIGxlbmd0aC5vdXQgPSBucm93KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcykpDQpudW1lcm9fbWVzIDwtIGFzLmludGVnZXIobnVtZXJvX21lcykNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyA8LSBjYmluZChyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMsIE51bWVyb01lcyA9IG51bWVyb19tZXMpDQoNCiMgQ3JlYXIgdW5hIGNvbHVtbmEgcGFyYSBlbCBuw7ptZXJvIGRlIGTDrWEgc2Vnw7puIGVsIGTDrWEgZGUgbGEgc2VtYW5hIGVuIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcw0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJENvbG9yRGlhIDwtaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICIxLkRvbWluZ28iLCAiYmx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiMi5MdW5lcyIsICJyZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjMuTWFydGVzIiwgInllbGxvdyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNC5NacOpcmNvbGVzIiwgImN5YW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjUuSnVldmVzIiwgImRhcmtncmVlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNi5WaWVybmVzIiwgImJyb3duIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICI3LlPDoWJhZG8iLCAiYmxhY2siLCBOQSkpKSkpKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJGlkUnV0YSA8LWlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkUnV0YSA9PSAiQ2FudG9uYWwiLCAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQpyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkTWVzIDwtIGdzdWIoIltBLUxdXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyRNZXMpDQoNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hIDwtIGdzdWIoIlsxLTddXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hKQ0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY29fY2hlcm5vZmYgPC0gZ2dwbG90KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcywgYWVzKHggPSBOdW1lcm9NZXMsIHkgPSBpZFJ1dGEsbGFiZWwxID0gTWVzLGxhYmVsMiA9IFJ1dGEsbGFiZWwzID0gRMOtYSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gOSxjb2xvdXIgPSByZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkQ29sb3JEaWEpICsNCiAgbGFicyh4ID0gIk1lcyIseSA9ICJSdXRhIikgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYHvuI8g8J+Rge+4jyIpLHZqdXN0ID0gLTUsIHNpemUgPSAzKSsgIA0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYQiKSwgdmp1c3QgPSA1LCBzaXplID0gMikgKw0KICB0aGVtZV9idygpDQoNCiMgQ29udmVydGltb3MgZWwgZ3LDoWZpY28gZ2dwbG90MiBlbiB1bm8gaW50ZXJhY3Rpdm8gY29uIHBsb3RseQ0KZ3JhZmljb19pbnRlcmFjdGl2byA8LSBnZ3Bsb3RseShncmFmaWNvX2NoZXJub2ZmLHRvb2x0aXAgPSBjKCJsYWJlbDEiLCAibGFiZWwyIiwgImxhYmVsMyIpKQ0KDQojIE1vc3RyYW1vcyBlbCBncsOhZmljbyBpbnRlcmFjdGl2bw0KZ3JhZmljb19pbnRlcmFjdGl2bw0KDQojIDEyIGNhcmFzIHBvciBsb3MgbWVzZXMsIGNvbG9yIGNhcmEgZGlhcyAuLi4geSB0YW1hbmhvIGNhcmEgcnV0YQ0KYGBgDQpFbiBlc3RhIGdyw6FmaWNhIGRlIGFjY2lkZW50ZXMgZW50cmUgZWwgMjAxNi0yMDIyIGRlIGNhcmFzIGRlIENoZXJub2ZmIHBvZGVtb3Mgb2JzZXJ2YXIgZW4gdW4gaW5pY2lvIHF1ZSBoYXkgMTIgY2FyYXMsIHVuYSBwb3IgY2FkYSBtZXMgZGVsIGHDsW8uIFNlZ3VuZG8gaGF5IHZhcmllZGFkIGRlIGNvbG9yZXMsIGxvcyBjdWFsZXMgcmVwcmVzZW50YW4gZWwgZMOtYSBjb24gbcOhcyBhY2NpZGVudGVzIGRlIGVzZSBtZXMuIFkgcG9yIMO6bHRpbW8gdG9kYXMgbGFzIGNhcmFzIHRpZW5lIGVsIG1pc21vIHRhbWHDsW8sIHlhIHF1ZSBlbCB0YW1hw7FvIGxvIGRldGVybWluYSBsYSBydXRhIGNvbiBtw6FzIGFjY2lkZW50ZXMuIFRlbmllbmRvIGVzdG8gZW4gY3VlbnRhLCBwb3JxdWUgdGllbmUgZWwgbWlzbW8gdGFtYcOxbyB0b2RhcyBsYXMgY2FyYXM/IFB1ZXMgbG9zIGRhdG9zIGRlIGFuw6FsaXNpcyBpbmRpY2FuIHF1ZSBhIHRyYXbDqXMgZGVsIGludGVydmFsbyBkZSBhw7FvcyBlbnRyZSBlbCAyMDE2LTIwMjIgbGFzIHJ1dGFzIGNvbiBtw6FzIGFjY2lkZW50ZXMgaGFuIHNpZG8gbGFzIGNhbnRvbmFsZXMuIEVzIG11eSBpbnRlcmVzYW50ZSBxdWUgZW4gZXNlIGludGVydmFsbyBkZSBhw7FvcyBlbCBkw61hIHF1ZSBzdWVsZSB0ZW5lciBtw6FzIGFjY2lkZW50ZXMgZXMgZWwgdmllcm5lcywgYWRlbcOhcyBlbCBMdW5lcyB5IFPDoWJhZG8gc3VlbGVzIHRlbmVyIGxhIG1pc21hIGNhbnRpZGFkIGRlIGFjY2lkZW50ZXMuDQpgYGB7cixlY2hvPUZBTFNFfQ0KcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXM8LWRhdGEgJT4lDQogIGdyb3VwX2J5KFJ1cmFsLm8udXJiYW5vKSU+JQ0KICBzdW1tYXJpc2UoUlV0b3RhbF9hY2NpZGVudGVzID0gbigpKSAlPiUNCiAgYXJyYW5nZShkZXNjKFJVdG90YWxfYWNjaWRlbnRlcykpDQojIGRlc2RlIDIwMTYgaGFzdGFzIDIwMjINCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KbGFiZWxzID0gcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXMkUnVyYWwuby51cmJhbm8NCnZhbHVlcyA9IHJ1cmFsVXJiYW5vX21hc19hY2NpZGVudGVzJFJVdG90YWxfYWNjaWRlbnRlcw0KDQpmaWcxIDwtIHBsb3RfbHkodHlwZT0ncGllJywgbGFiZWxzPWxhYmVscywgdmFsdWVzPXZhbHVlcywgDQogICAgICAgICAgICAgICB0ZXh0aW5mbz0nbGFiZWwrcGVyY2VudCcsDQogICAgICAgICAgICAgICBpbnNpZGV0ZXh0b3JpZW50YXRpb249J3JhZGlhbCcpDQpmaWcxIDwtIGZpZzEgJT4lIGxheW91dCh0aXRsZSA9ICdBY2NpZGVudGVzIHBvciBydXRhIGVudHJlIDIwMTYtMjAyMicpDQpmaWcxDQpgYGANCkVuIGVzdGUgZ3LDoWZpY28gZGUgcGFzdGUgc2UgbXVlc3RyYSBlbCBwb3JjZW50YWplIGRlIGxvcyBhY2NpZGVudGVzIGVudHJlIGVsIDIwMTYtMjAyMiBwb3IgdGlwbyBkZSBydXRhLiBTZSBwdWVkZSBhcHJlY2lhciBxdWUgZWwgbWF5b3IgcG9yY2VudGFqZSBkZSBhY2NpZGVudGVzIGVuIGVsIGludGVydmFsbyBkZSBhw7FvcyBzZSBoYSBkYWRvIGVuIHJ1dGFzIHVyYmFuYSwgZXNvIHF1aXrDoSB0ZW5nYSBxdWUgdmVyIGVuIHBhcnRlIHBvcnF1ZSBoYXkgbWVub3MgdHLDoW5zaXRvIGVuIHJ1dGFzIHJ1cmFsZXMuIENvbiBsbyBhbnRlcmlvciBlbiBjdWVudGEsIHRhbWJpw6luIHB1ZWRlIHNlciBxdWUgcG9ycXVlIGhheSBtZW5vcyBjYW50aWRhZCBkZSB0csOhbnNpdG8gaGF5YW4gbWVub3MgZmFjdG9yZXMgcHNpY29lbW9jaW9uYWxlcyBxdWUgYWZlY3RlbiBhbCBtb21lbnRvIGRlIGNvbmR1Y2lyLg0KYGBge3IsZWNobz1GQUxTRX0NCiN5ID1taWRlcGxhbiB4PSBjYW50b24NCiN0ZW5lciBjYW50b24gY29uIG1hcyB5IG1lbm9zIGFjY2lkZW50ZXMNCnJlZ2lvbl9jYW50b25fbWFzX2FjY2lkZW50ZXM8LWRhdGElPiUNCiAgZ3JvdXBfYnkoUmVnacOzbi5NaWRlcGxhbiwgQ2FudMOzbiklPiUNCiAgc3VtbWFyaXNlKFJDdG90YWxfYWNjaWRlbnRlcyA9IG4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzPC1yZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzJT4lDQogIGdyb3VwX2J5KFJlZ2nDs24uTWlkZXBsYW4sIENhbnTDs24pJT4lDQogIHN1bW1hcmlzZShtYXhfdmFsb3IgPSBtYXgoUkN0b3RhbF9hY2NpZGVudGVzKSwuZ3JvdXBzID0gImRyb3AiKSU+JQ0KICBhcnJhbmdlKG1heF92YWxvcikNCg0KIyBOw7ptZXJvIGRlIGNvbG9yZXMgZGVzZWFkbw0Kbl9jb2xvcmVzIDwtIDE3Ng0KDQojIEdlbmVyYXIgbGEgcGFsZXRhIGRlIGNvbG9yZXMNCg0KcGFsZXRhX2NvbG9yZXMgPC1yYWluYm93X2hjbChuX2NvbG9yZXMpICMgRWplbXBsbyBkZSBjb2xvcmVzIGJhc2UNCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KDQpmaWcgPC0gcGxvdF9seShyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzLCB4ID0gflJlZ2nDs24uTWlkZXBsYW4sIHkgPSB+bWF4X3ZhbG9yLCBtYXJrZXIgPSBsaXN0KGNvbG9yPXBhbGV0YV9jb2xvcmVzKSAsIHR5cGUgPSAnYmFyJyxob3ZlcnRlbXBsYXRlID0gfnBhc3RlKCJSZWdpw7NuOiAiLCBSZWdpw7NuLk1pZGVwbGFuLCAiPGJyPkNhbnTDs246ICIsIENhbnTDs24sICI8YnI+VmFsb3I6ICIsIG1heF92YWxvciwNCiAgICAgICI8ZXh0cmE+PC9leHRyYT4iKSkNCg0KZmlnIDwtIGZpZyAlPiUgbGF5b3V0KHlheGlzID0gbGlzdCh0aXRsZSA9ICcnKSx4YXhpcz1saXN0KHRpdGxlID0gJycpLCBiYXJtb2RlID0gJ3N0YWNrJykNCg0KZmlnDQpgYGANCkVudHJlIDIwMTYtMjAyMiwgbGEgZ3LDoWZpY2EgYXBpbGFkYSBkZSBiYXJyYXMgbXVlc3RyYSBxdWUgbGFzIGJhcnJhcyBlc3TDoW4gYWdydXBhZGFzIHBvciByZWdpw7NuIHkgYXBpbGFkYXMgcG9yIGNhbnRvbmVzIGNvbiBtYXlvciBuw7ptZXJvIGRlIGFjY2lkZW50ZXMuIEVsIGNvbG9yIGluZGljYSBjdcOhbnRvcyBhY2NpZGVudGVzIGh1Ymllcm9uIGVuIGNhZGEgY2FudMOzbi4gRW4gbGEgem9uYSBkZSBDb3N0YSBSaWNhLCBkb25kZSBtw6FzIGFjY2lkZW50ZXMgb2N1cnJpZXJvbiwgbGEgcmVnacOzbiBjZW50cmFsIHkgZWwgY2FudMOzbiBkZSBTYW4gSm9zw6kgdGllbmVuIGVsIG1heW9yIG7Dum1lcm8gZGUgYWNjaWRlbnRlcy4gQWRlbcOhcywgbG9zIGNhbnRvbmVzIHF1ZSBjb21wYXJ0ZW4gbcOhcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBkZXNhcnJvbGxhZG9zIHVyYmFuYW1lbnRlLCBtaWVudHJhcyBxdWUgbG9zIGNhbnRvbmVzIGNvbiBtZW5vcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBwb2JyZXMgbyBtZW5vcyBkZXNhcnJvbGxhZG9zLiBFc3RvIHNlIHBvZHLDrWEgZGViZXIgYSBxdWUgaGF5IG1lbm9zIHZlaMOtY3Vsb3MgZW4gY2FycmV0ZXJhLCBwb3IgbGEgZmFsdGEgZGUgcG9kZXIgYWRxdWlzaXRpdm8uDQpgYGB7ciwgZWNobyA9IEZBTFNFfQ0KYW5pb0NURzwtZGF0YSAlPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpICU+JQ0KICBzdW1tYXJpc2UoTnVtZXJvQWNjaWRlbnRlcz1uKCksLmdyb3Vwcz0iZHJvcCIpDQoNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpJT4lDQogIHN1bW1hcmlzZShBY2NpZGVudGVzID0gbWluKE51bWVyb0FjY2lkZW50ZXMpLC5ncm91cHMgPSAiZHJvcCIpJT4lDQogIGFycmFuZ2UoQWNjaWRlbnRlcykNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgcmVuYW1lKENpcmN1bGFjaW9uID0gVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHJlbmFtZShDbGltYSA9IEVzdGFkby5kZWwudGllbXBvKSU+JQ0KICByZW5hbWUoR3JhdmVkYWQgPSBDbGFzZS5kZS5hY2NpZGVudGUpDQoNCmFuaW9DVEckQcOxbzwtc3Vic3RyKGFuaW9DVEckQcOxbywgc3RhcnQgPSAzLCBzdG9wID0gbmNoYXIoYW5pb0NURyRBw7FvKSkNCiNlbGltaW5vIGVsIDIwIGRlbCBhw7FvIHBhcmEgcXVlIHNlYSBtZWpvciBsYSByZXNwcmVzZW50YWNpw7NuIHRleHR1YWwNCiNvIHNlYSBlbiB2ZXogZGUgMjAxNiBzYWxlIDE2DQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmZhY2VJbnRlcmFjdGl2byA8LSBnZ3Bsb3QoYW5pb0NURywgYWVzKHg9Q2lyY3VsYWNpb24sIHk9QWNjaWRlbnRlcywgY29sb3I9Q2xpbWEsIGdyb3VwPUdyYXZlZGFkKSkgKw0KICAgIGdlb21fcG9pbnQoKSsNCiAgICBsYWJzKHg9IlRpcG8gZGUgY2lyY3VsYWNpw7NuIix5PSJDYW50aWRhZCBhY2NpZGVudGVzIixjb2xvdXI9IiBFc3RhZG8gZGVsIGNsaW1hIikrDQogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsIDI2MDApLCBicmVha3MgPSBjKDAsIDI2MDApKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAtNDUsIGhqdXN0ID0gMCksYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGU9MTIpKSsNCiAgICBmYWNldF9ncmlkKEHDsW8gfiAuLCBzY2FsZSA9ICJmcmVlX3giLHNwYWNlID0gImZyZWUiKQ0KICAgIA0KDQpnZ3Bsb3RseShmYWNlSW50ZXJhY3Rpdm8pDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCiMgQ2FsY3VsYXIgbGEgY2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbw0KZnJlY3VlbmNpYV9hw7FvIDwtIHRhYmxlKGRhdGEkQcOxbykNCg0KIyBDcmVhciB1biBmcmFtZSBkZSBkYXRvcyBjb24gbGEgZnJlY2llbmNhIHkgZWwgYcOxbw0KZGF0b3NfZnJlY3VlbmNpYV9hw7FvIDwtIGRhdGEuZnJhbWUoDQogIEHDsW8gPSBuYW1lcyhmcmVjdWVuY2lhX2HDsW8pLA0KICBBY2NpZGVudGVzID0gYXMubnVtZXJpYyhmcmVjdWVuY2lhX2HDsW8pDQopDQoNCiMgQ3JlYXIgZWwgZ3JhZmljbyBjb24gdW4gcHVudG8gcG9yIGNhZGEgYcOxbw0KcHVudG9zX2HDsW8gPC0gZ2dwbG90KGRhdG9zX2ZyZWN1ZW5jaWFfYcOxbywgYWVzKHggPSBBw7FvLCB5ID0gQWNjaWRlbnRlcywgY29sb3IgPSBBw7FvKSkgKw0KICBnZW9tX3BvaW50KHNpemUgPSA1KSArDQogIHNjYWxlX3hfZGlzY3JldGUoYnJlYWtzID0gTlVMTCkgKw0KICBsYWJzKHkgPSAiIyBkZSBhY2NpZGVudGVzIiwgDQogICAgICAgdGl0bGUgPSAiQ2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbyIpICsNCiAgdGhlbWUoYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KcHVudG9zX2HDsW9zX2ludGVyYWN0aXZhIDwtIGdncGxvdGx5KHB1bnRvc19hw7FvKQ0KYGBgDQoNCmBgYHtyLCBlY2hvID0gRkFMU0V9DQpiYXJyYXNfaG9yYSA8LSBnZ3Bsb3QoZGF0YSwgYWVzKHggPSBIb3JhLnJlY29kaWZpY2FkYSwgZmlsbCA9IEhvcmEucmVjb2RpZmljYWRhKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJBY2NpZGVudGVzIHBvciBhw7FvIHkgcG9yIEhvcmEgcmVjb2RpZmljYWRhIiwNCiAgICAgICB4ID0gIkhvcmEgUmVjb2RpZmljYWRhIiwgeSA9ICIjIGRlIGFjY2lkZW50ZXMiLCBmaWxsID0gIkHDsW8gLyBSYW5nbyBob3JhcmlvIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KYmFycmFzX2hvcmFfaW50ZXJhY3RpdmEgPC0gZ2dwbG90bHkoYmFycmFzX2hvcmEpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmJhcnJhc190aXBvX2NsYXNlIDwtIGdncGxvdChkYXRhLCBhZXMoeCA9IFRpcG8uZGUuYWNjaWRlbnRlLCBmaWxsID0gQ2xhc2UuZGUuYWNjaWRlbnRlKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJUaXBvcyBkZSBoZXJpZG9zIHBvciB0aXBvIGRlIGFjY2lkZW50ZSBlbnRyZSAyMDE2LTIwMjIiLA0KICAgICAgIHggPSAiVGlwbyBkZSBhY2NpZGVudGUiLCB5ID0gIiMgZGUgYWNjaWRlbnRlcyIsIGZpbGwgPSAiVGlwbyBkZSBoZXJpZG9zIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDMxNSwgaGp1c3QgPSAwKSkNCg0KZ2dwbG90bHkoYmFycmFzX3RpcG9fY2xhc2UpDQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmRhdG9zX211bHRpZGltZW5zaW9uYWxlczwtZGF0YSU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoSG9yYS5yZWNvZGlmaWNhZGEsRMOtYSxFc3RhZG8uZGVsLnRpZW1wbyxUaXBvLmRlLmNhbHphZGEsVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHN1bW1hcmlzZShhY2NpZGVudGVzPW4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSA8LSBnc3ViKCJbMS03XVxcLiIsICIiLCBkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSkNCiAgDQpgYGANCg0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KYXhpcyA9IGxpc3Qoc2hvd2xpbmU9RkFMU0UsDQogICAgICAgICAgICB6ZXJvbGluZT1GQUxTRSwNCiAgICAgICAgICAgIGdyaWRjb2xvcj0nI2ZmZmYnLA0KICAgICAgICAgICAgdGlja2xlbj0xKQ0KDQptYXRyaXpEIDwtIGRhdG9zX211bHRpZGltZW5zaW9uYWxlcyAlPiUNCiAgcGxvdF9seSgpIA0KbWF0cml6RCA8LSBtYXRyaXpEICU+JQ0KICBhZGRfdHJhY2UoDQogICAgdHlwZSA9ICdzcGxvbScsDQogICAgZGltZW5zaW9ucyA9IGxpc3QoDQogICAgICBsaXN0KGxhYmVsPSdEw61hJyx2YWx1ZXM9fkTDrWEpLA0KICAgICAgbGlzdChsYWJlbD0nVHLDoW5zaXRvJyx2YWx1ZXM9flRpcG8uZGUuY2lyY3VsYWNpw7NuKSwNCiAgICAgIGxpc3QobGFiZWw9J0hvcmEnLHZhbHVlcz1+SG9yYS5yZWNvZGlmaWNhZGEpLA0KICAgICAgbGlzdChsYWJlbD0nVsOtYScsdmFsdWVzPX5UaXBvLmRlLmNhbHphZGEpLA0KICAgICAgbGlzdChsYWJlbD0nQ2xpbWEnLHZhbHVlcz1+RXN0YWRvLmRlbC50aWVtcG8pDQogICAgKQ0KICApDQptYXRyaXpEIDwtIG1hdHJpekQgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZT0gJ0FjY2lkZW50ZXMgZGVsIDIwMTYtMjAyMiBldmFsdWFuZG8gZGlzdGludG9zIGZhY3RvcmVzJywNCiAgICBob3Zlcm1vZGU9J2Nsb3Nlc3QnLA0KICAgIGRyYWdtb2RlPSAnc2VsZWN0JywNCiAgICBwbG90X2JnY29sb3I9J3JnYmEoMjQwLDI0MCwyNDAsIDAuOTUpJywNCiAgICB4YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB5YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB4YXhpczI9YXhpcywNCiAgICB4YXhpczM9YXhpcywNCiAgICB4YXhpczQ9YXhpcywNCiAgICB5YXhpczI9YXhpcywNCiAgICB5YXhpczM9YXhpcywNCiAgICB5YXhpczQ9YXhpcw0KICApDQoNCm1hdHJpekQgPC0gbWF0cml6RCAlPiUNCiAgbGF5b3V0KA0KICB4YXhpcyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczIgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeGF4aXMzID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHhheGlzNCA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczUgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMyID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHlheGlzMyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB5YXhpczQgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXM1ID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCkNCikNCm1hdHJpekQNCg0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY2FfZGVfZ3JhZmljYXMgPC0gc3VicGxvdChwdW50b3NfYcOxb3NfaW50ZXJhY3RpdmEsIGJhcnJhc19ob3JhX2ludGVyYWN0aXZhLCBucm93cyA9IDIpDQoNCmdyYWZpY2FfZGVfZ3JhZmljYXMNCmBgYA==